#ifndef CGRAPHICSCLASS_H
#define CGRAPHICSCLASS_H

#include "D3DClass.h"
#include "CameraClass.h"
#include "ModelClass.h"
#include "ColorShaderClass.h"
#include "TextureShaderClass.h"
#include "LightClass.h"
#include "LightShaderClass.h"
#include "BitmapClass.h"
#include "TextClass.h"
#include "ModelListClass.h"
#include "FrustumClass.h"
#include "MayaModel.h"

const bool FULL_SCREEN = false;
const bool VSYNC_ENABLED = true;
const float SCREEN_DEPTH = 1000.0f;
const float SCREEN_NEAR = 0.1f;

class CGraphicsClass
{
	CD3DClass* m_pD3D;
	CCameraClass* m_pCamera;
	CModelClass* m_pModel;
	//CColorShaderClass* m_pColorShader;
	CTextureShaderClass* m_pTextureShader;
	CLightShaderClass* m_pLightShader;
	CLightClass* m_pLight;
	CBitmapClass* m_pBitmap;
	CTextClass* m_pText;
	CModelListClass* m_pModelList;
	CFrustumClass* m_pFrustum;
	CMayaModel* m_pMayaModel;

public:
	CGraphicsClass(void);
	CGraphicsClass(const CGraphicsClass&);
	~CGraphicsClass(void);

	bool Initialize(int nScreenWidth, int nScreenHeight, HWND hWnd);
	void ShutDown();
	bool Frame(float fYRot);
	bool Render(/*float fRotation*/);

};

#endif